Technical Field
This disclosure relates generally to technologies, products and services that enable users to collaborate with one another over a network.
Background of the Related Art
Digital whiteboard technologies are known in the art. They provide for near real-time collaborative diagramming and whiteboarding by often geographically-distributed clients, such as users of mobile devices. The technologies enable users to edit the same whiteboard, simultaneously, and to see each of the others' changes. In one implementation, the application is divided into client and server programs. The client program presents a graphical user interface (GUI) or “viewport” to the user, allowing the user to draw pictures, draw lines, place icons, and so on. Also, the client program transmits to the server program any local changes made to the whiteboard. The server program maintains a master whiteboard or “canvas” for a collaboration session. In particular, the server updates the master whiteboard based upon changes it receives from the client programs, and then re-broadcasts those changes to all subscribing clients. One such system of this type is the Zamurai™ Mobile Whiteboard system, which enables users of mobile devices (such as the Apple iPad®) to work on an “infinite” canvas, i.e., a canvas that is effectively unconstrained in size (at least from the user's perspective). Using conventional gestures, a user can zoom in to a specific item on the infinite canvas, zoom out to see a larger picture, add more information, or take other actions that are then available for viewing and interaction by other participants.
While the use of an infinite canvas in this manner provides for significant advantages, after a few random moves or changes to zoom factor, each user typically sees a different region of the canvas within their respective viewport. This can be highly problematic for applications that require users to synchronize their views, or to remain in synchronization for a given time period. Without synchronization, it may be difficult for the users to coordinate their actions, potentially leading to chaos as users seek to locate where their viewport lies within the larger canvas, or to determine what others may be doing elsewhere.